Circuits implementing a variable delay are used throughout communications and computing devices. For example, in beamforming applications, delayed versions of signals may be combined to form a communication beam to electronically steer a signal. Beamforming can be performed with signals from an array of microphones, an antenna array, or a pixel array, such as from sensors used to detect a fingerprint. In some applications (e.g., detecting a fingerprint), the input data that is delayed to generate a beamformed signal is generated asynchronously to a system clock or reference signal. Furthermore, in some applications, such as fingerprint processing on a mobile computing device, the circuit implementing the variable delay is expected to achieve a delay that is accurate across a wide range of delay durations, as well as over variations in process and temperature.
A simple delay chain, such as one constructed with voltage-controlled delay elements, can be used to implement a variable delay. However, the delay created by the simple delay chain changes significantly over variations in process, voltage, and temperature, making it unsuitable for some applications. To mitigate the variations in delay, some approaches add a capacitor or strong buffer circuitry to a control node of the delay chain. However, the added capacitor and strong buffer circuitry occupy a large area, and the strong buffer circuitry also consumes large amounts of power. Other approaches produce a variable delay using high-frequency digital circuits. However, such high-frequency digital circuits also consume large amounts of power, and they do not provide asynchronous operation.
Accordingly, traditional circuits that implement a variable delay are not independent of variations in process and temperature while also supporting asynchronous operation with low power consumption.